<?php
 require_once 'config.php';
 
/**
  * 封装公用的函数
  */
 session_start();
/**
  * [xiu_get_current_user description] 获取当前登录用户信息，如果没有获取到则自动跳转到登录页面
  * @return [type] [description]
  */
function xiu_get_current_user(){
   if(empty($_SESSION['current_login_user'])){
     //如果没用y用户信息，意味着没有登录
     header('Location: /admin/login.php');
     exit(); //没有必要赤星后面的代码
   }
   return $_SESSION['current_login_user'];
}
/**
  * [xiu_fetch_all description] 通过一个数据库查询多条数据
  * @param  [type] $sql sql查询语句 
  * @return [type] 返回值 索引数组套关系数组
  */
function xiu_fetch_all($sql){
   $conn = mysqli_connect(XIU_DB_HOST,XIU_DB_USER,XIU_DB_PWD,XIU_DB_NAME);
   if(!$conn){
     exit('链接失败');
   }
   $query = mysqli_query($conn,$sql);
   if(!$query){
     return false;
   }
   while($row = mysqli_fetch_assoc($query)){
     $result[] = $row;
   }
   mysqli_free_result($query);
   mysqli_close($conn);
   return $result;
}
 /**
  * 获取单条数据
  */
function xiu_fetch_one($sql){
    $res = xiu_fetch_all($sql);
    return isset($res[0]) ? $res[0] : null;
}
 // function xiu_execute($sql){
  //   $conn = mysqli_connect(XIU_DB_HOST,XIU_DB_USER,XIU_DB_PWD,XIU_DB_NAME);
  //   if(!$conn){
  //     exit('连接失败');
  //   }

  //   $query = mysqli_query($conn,$sql);
  //   if(!$query){
  //     return false;
  //   }

  //   $affected_rows = mysqli_affected_rows($conn);

  //   mysqli_close($conn);

  //   return $affected_rows;
 // }
function xiu_connect () {
  $connection = mysqli_connect(XIU_DB_HOST,XIU_DB_USER,XIU_DB_PWD,XIU_DB_NAME);

  if (!$connection) {
    // 如果连接失败报错
    die('<h1>Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error() . '</h1>');
  }

  // 设置数据库编码
  mysqli_set_charset($connection, 'utf8');

  return $connection;
}

/**
 * 执行一个查询语句，返回查询到的数据（关联数组混合索引数组）
 * @param  string $sql 需要执行的查询语句
 * @return array       查询到的数据（二维数组）
 */
// function xiu_query ($sql) {
//   // 获取数据库连接
//   $connection = xiu_connect();

//   // 定义结果数据容器，用于装载查询到的数据
//   $data = array();

//   // 执行参数中指定的 SQL 语句
//   if ($result = mysqli_query($connection, $sql)) {
//     // 查询成功，则获取结果集中的数据

//     // 遍历每一行的数据
//     while ($row = mysqli_fetch_array($result)) {
//       // 追加到结果数据容器中
//       $data[] = $row;
//     }

//     // 释放结果集
//     mysqli_free_result($result);
//   }

//   // 关闭数据库连接
//   mysqli_close($connection);

//   // 返回容器中的数据
//   return $data;
// }

/**
 * 执行一个非查询语句，返回执行语句后受影响的行数
 * @param  string  $sql 非查询语句
 * @return integer      受影响的行数
 */
function xiu_execute ($sql) {
  // 获取与数据库之间的连接
  $connection = xiu_connect();

  // 执行 SQL 语句，获取一个查询对象
  if ($result = mysqli_query($connection, $sql)) {
    // 查询成功，获取执行语句后受影响的行数
    $affected_rows = mysqli_affected_rows($connection);
  }

  // 关闭数据库连接
  mysqli_close($connection);

  // 返回受影响的行数
  return isset($affected_rows) ? $affected_rows : 0;
}
/**
 * 执行一个查询语句，返回查询到的数据（关联数组混合索引数组）
 * @param  string $sql 需要执行的查询语句
 * @return array       查询到的数据（二维数组）
 */
function xiu_query ($sql) {
  // 获取数据库连接
  $connection = xiu_connect();

  // 定义结果数据容器，用于装载查询到的数据
  $data = array();

  // 执行参数中指定的 SQL 语句
  if ($result = mysqli_query($connection, $sql)) {
    // 查询成功，则获取结果集中的数据

    // 遍历每一行的数据
    while ($row = mysqli_fetch_array($result)) {
      // 追加到结果数据容器中
      $data[] = $row;
    }

    // 释放结果集
    mysqli_free_result($result);
  }

  // 关闭数据库连接
  mysqli_close($connection);

  // 返回容器中的数据
  return $data;
}

?>